Procedure for sorting flows in a transport network carrying circuit data flows

ABSTRACT

A procedure for sorting a plurality of circuit data flows ( 7, 8 , . . . ) located, according to an initial configuration, in a plurality of sets of slots (space, time, frequency or wavelength) in a transport sub-network, comprising the following steps:—calculating a theoretical configuration in which flows are optimised in terms of occupied band by applying a theoretical flow routing algorithm; on the basis of the theoretical configuration defined above, exchanging the position of the flows in the sub-network slots to obtain an optimal arrangement which minimises the occupied slots; flows whose position corresponds to the position assumed by the flows in the initial position are identified to reduce the number of exchanges; defining and implementing a minimum shift sequence of single flows needed to shift each single flow from an initial position occupied in the initial flow configuration to a final position corresponding to the position assumed by the flow in the optimal slot set arrangement.

TECHNICAL FIELD

The invention refers to transport networks carrying circuit data flows,of the synchronous and asynchronous type, employing either space, time,frequency or wavelength multiplexing, and specifically refers to aprocedure for sorting circuit data flows in a sub-network.

BACKGROUND ART

As known, data are transmitted in TDM (Time Division Multiplexing)transport networks in time windows or sets of slots (called “timeslots”) whose length is fixed, each of which contains one or morecircuit data flows defined by the implemented protocol. Networks of thiskind include, for example, SDH (Synchronous Digital Hierarchy) or SONET(Synchronous Optical Network) networks. The term “slot” therefore means“time interval” in this case.

In WDM (Wavelength Division Multiplexing) networks, data are transmittedon different wavelengths λ_(i), which replace the multiplexing timeslots and consequently may be called “λ-slots”. Similarly, SDM (SpaceDivision Multiplexing) or FDM (Frequency Division Multiplexing) networkscan be implemented, in which case the concept of slot is associated tointervals of space or frequency. Specifically, FDM technology wasimplemented in the past before TDM technology was developed.

The invention refers to all types of networks based on the concept ofslot described above. Reference will be made in the description thatfollows to TDM (SDH and SONET) and WDM networks considering theircurrent popularity.

From a technical point of view, time slots in SDH and SONET networks andλ-slots in WDM networks can be considered equivalent. They are both“containers” in which data are transmitted, regardless of the actualphysical implementation of the network.

Each transport network, SDH, SONET or WDM, can comprise varioussub-networks, e.g. ring networks or meshed sub-networks, all employingthe same transmission protocol.

When a circuit data flow set to be sold to a customer is created andestablished for operation, the slots forming the sub-network (time slotsfor SDH or SONET, λ-slots for WDM) are allocated to each circuitaccording to the situation of the network at the time; the situation israndomly determined by the incoming requests (according to the typicalcriteria of the network operator). In general, the aim is to optimisethe total occupied band to minimise network implementation investments.Calculation algorithms have been developed for this purpose to optimisesub-network load and reduce band occupation. The traffic demand to becarried by the network must be entirely defined beforehand to work thesetheoretical algorithms, which in practice is impossible.

For example, a routing optimisation algorithm for SONET/SDH ringsub-networks is described in the publication HU-GON KIM, DONG-WAN TCHA,Optimal Load Balancing on Sonet Bidirectional Rings, Dankook University,July 1996.

The algorithm described in this publication is very useful forcalculating optimal distribution of flows given a known demand, e.g. forprogramming a new ring sub-network. The biggest problem, on the otherhand, to be faced when optimising a sub-network which is alreadyoperational in terms of occupied band, is how to change circuitconfiguration to implement the optimised configuration withoutdisrupting the service, with minimum effects perceived by customers.

Flows are often untidy and irregular in a sub-network that has beenworking for some time due to flow allocation changes which inevitablyoccur in the course of time. For example, the allocated flows arereleased and “gaps” in the slot allocation map are formed when theresources allocated to a customer are cleared following cancellation ofcontracts. These gaps are often employed for smaller flows and evensmaller gaps are created, which are even more difficult to use in thefuture. This effect in the middle term progressively worsens the ratiobetween the band effectively occupied by data in the sub-network and thetotal available band of sub-network, making the configuration of newflows in the sub-network effectively impossible.

Procedures for the temporary or definitive re-allocation of time slotsin a TDM network are also known, e.g. the procedure illustrated indocument WO 97/36402.

Despite referring to a switched network, this patent describes aprocedure for shifting one or more time slots from a primary node to atemporary node and then re-allocating the time slots back to the primarynode. This procedure is used to deal with the unexpected request forresources on the primary node by one or more customers and is used totemporarily allocate some time slots to an adjacent secondary node. Thedocument shows how it is possible to work on time slot allocation, byshifting and exchanging them, without incurring excessive disruption forcustomers.

The object of this invention is to propose a procedure for dealing withthe problem of how to optimise the band occupied by a plurality ofcircuit data flows in a transport sub-network while keeping the networkrunning and causing the least possible disruption to customers for eachsingle flow.

This and other objectives are obtained by means of an optimisationprocedure and corresponding management device as illustrated in theannexed claims.

SUMMARY OF THE INVENTION

Advantageously, according to the invention, a flow sorting procedure isapplied to reduce the occupied band and release a plurality of timeslots, which would otherwise be occupied, for new customers.

In this way, when a sub-network is apparently saturated because there isno space for allocating a new data flow, the procedure described hereinmay be applied to optimise the band occupied by the current flows andpossibly sort the sub-network to create space for the new flows. Theresult is a procedure for optimising the band employed by the flowsconfigured on the sub-network which preserves the theoretical qualitiesof an optimal routing algorithm combining the possibility of minimisingthe number of operations required to reach this condition.

BRIEF DESCRIPTION OF DRAWINGS

Additional characteristics and advantages of the invention in itspreferred form of embodiment will now be described, by way of exampleonly, with reference to the annexed drawings wherein:

FIG. 1 is a logical diagram of a ring transport sub-network;

FIG. 2 a is a table schematically illustrating an initial (nonoptimised) flow situation in a ring sub-network;

FIG. 2 b is a table schematically illustrating the theoreticaldistribution of flows in the ring sub-network in FIG. 2 a, afterapplying a theoretical routing algorithm;

FIG. 2 c is a table schematically illustrating the final distribution offlows in the ring sub-network in FIG. 2 a, after applying a sortingprocedure according to the invention;

FIGS. 3, 4 and 5 schematically illustrate how the sorting procedureaccording to the invention is applied, for example on a simplifiedsub-network; and

FIG. 6 illustrates some steps in the sorting procedure referred to thesimplified sub-network example shown in FIG. 3.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following detailed description illustrates a flow sorting procedurein a transport network ring sub-network carrying circuit data flows. Thesub-network is schematically shown as a set of slots (which are time,spatial, frequency or wavelength intervals between pairs of linkedsites). Specifically, the illustrated procedure can be applied tosorting SDH/SONET (Time Division Multiplexing) type networks and WDM(Frequency Division Multiplexing) type networks. The term “slot” will beused to indicate “time slots” in the case of SDH/SONET networks and“λ-slots” in the case of WDM networks.

Similarly, the invention can be applied to networks in which data flowmultiplexing is obtained through either space division (SDM, SpaceDivision Multiplexing) or frequency division (FDM, Frequency DivisionMultiplexing), in which case the term “slot” will be associated to spaceand frequency intervals, respectively.

The ring sub-network may implement MS-SPRing technology (OMS-SPRing forWDM networks). The procedure may be applied in general to anysub-network which may also not be ring structured (e.g. meshed or mixedmeshed-ring topologies); flows may be protected or not.

With reference to FIG. 1, an example of sub-network on which to applythe invention is a ring essentially consisting of six nodes,geographically placed in six different locations called X1, X2, X3, X4,X5, X6 in the figure, reciprocally connected by optical fibres or othertransmission medium 9.

The logical diagram of the ring shown in FIG. 1 consists of a slotmatrix (like that shown in FIGS. 2 a, 2 b and 2 c) where the rowsindicate multiplexed slots (e.g. from 1 to 16) according to theparticular transmission protocol and the columns 6 indicate the slotswith the same transmission index which can be exploited to configure thecircuits (sets of slots with the same numeric code) between the variouslocations reached by the ring.

The flows are identified inside the table by a reference index, i.e. anumber written inside each of the boxes allocated to a certain flow. Forexample, boxes 7 a and 7 b are allocated to flow 9 which occupies theset of slots 9 in the sections X6-X1 and X1-X2, while boxes 8 a and 8 bare allocated to flow 15 which occupies the set of slots 16 in thesections X1-X2 and X2-X3.

It is immediately apparent that the flows in the ring network in FIG. 2a are distributed untidily and partially occupy all sixteen sets ofslots 6. The sixteen sets of slots occupied by the flows form a total of16·6=96 available slots, of which up to 44 remain “free” between flows(blank boxes in the table). This means that despite being all engaged,only 54% of the slots 6 in the ring are actually occupied; sub-networkuse is therefore not very efficient and collocating new flows in thering may be difficult, if not impossible.

The band occupied by the currently allocated flows can be reduced and acertain number of slot sets may be entirely released, as illustrated indetail below, by applying a flow sorting procedure to the slot sets inthe initial conditions of the sub-network as shown in FIG. 2 a.

The flow sorting procedure is essentially based on the followingsequence of operations:

-   -   Calculating theoretical optimal flow routing with the objective        of minimising “gaps” (band optimisation process) to obtain the        configuration illustrated, for example, in FIG. 2 b, starting        from instantaneous filling data of a ring sub-network. A        theoretical optimisation algorithm for optimising traffic in        known demand conditions is used to obtain this result, e.g. the        algorithm described in the aforesaid publication GON KIM,        DONG-WAN TCHA, Optimal Load Balancing on Sonet Bidirectional        Rings, Dankook University, July 1996;    -   Comparing the original data and the theoretical condition        calculated in the previous step to define an optimal transition        sequence and obtain an optimal final condition with the        constraint of minimising the number of flow position variations.

The procedure hereof determines a shifting sequence which minimises theuse of slot sets external to the ring and reduces, when possible, thenumber of shifts of each flow.

For example, it would not be problem if the destination slot set of asingle flow, called A for example were free; on the other hand, if thedestination slot were also only partially engaged by another flow,called B, B would have to be shifted before A and so on. An order can beformed by scanning the flows in the ring. The shifting process mayproceed seamlessly, one flow at a time, by respecting the order.

A slot will only need to be temporarily shifted onto a spare slot set(internal or external to the ring), when the order becomes a loop, e.g.A>B>C>A; all the other flows will be shifted and finally the flowshifted onto the spare slot will be moved back to its destination.

A spare slot set can be a set of free slots in the same sub-network or aset of slots located in different systems which share the sameinfrastructure, cable or installation site. During this phase, one ormore flows may need to be temporarily re-routed off the sub-network andshifted back inside the ring. However, it is more cost-effective to sortthe flows in the ring without shifting temporarily onto other rings oralternatively to minimise such shifts.

We will now analyse the sorting procedure step-by-step.

The first step in the procedure consists in calculating an optimaltheoretical flow configuration for the occupied band by means of thetheoretical optimal flow routing algorithm. This configuration isillustrated in FIG. 2 b, which clearly shows that all the previouslyallocated flows in the ring have been compacted into the first nine slotsets of the sub-network and the last seven are entirely free. Therouting criterion was changed for some flows, e.g. flow 1 and flow 10,from minimum to complementary or vice versa, to occupy some slots whichcould not otherwise be employed.

The nine sets of slots occupied by the flows contain a total of 9·6=54slots, of which only 8 are “free” between flows (blank boxes in thetable). This means that up to 85% of the slots are actually occupied.

The second step consists in exchanging the slot sets in the theoreticalflow configuration shown in FIG. 2 b and calculated in the previous stepto obtain a new arrangement of the slot set in which the number of flowsis maximised and whose position corresponds of the position assumed bythe flows in the initial configuration in FIG. 2 a. The result of theseexchanges is illustrated in the table in FIG. 2 c and is also the finalobjective of the sorting procedure.

The configuration shown in FIG. 2 c is equivalent, as far as theoccupied band is concerned, to the configuration in FIG. 2 b. The flowsare distributed over 9 slot sets containing a total of 9·6=54 slots.Also in this case, only 8 slots remain “free” between flows (blank boxesin the table) and 85% of the slots is actually occupied by the flows.

To better understand the steps of the sorting procedure, we will nowconsider a very simplified sub-network (e.g. illustrated in FIG. 3). Thetable in FIG. 3 contains five rows, corresponding for example to thefive sections of a ring, and six columns corresponding to six sets ofslots. This example is provided only to illustrate how the slot sets areexchanged and the flows are shifted.

We will now assume that the configuration illustrated in FIG. 4 isobtained by applying a theoretical optimal flow routing algorithm,corresponding to the first step in the procedure.

The configuration shown in FIG. 5, where all the slot sets in the tablein FIG. 4 have been exchanged according to a set of rules which will bedescribed below, is obtained by applying the second step.

Specifically, the second step consists of the following phases:

a) Creating a first table in which each row shows for each flow whoseposition differs from the initial theoretical flow configuration, areference index associated to said flow and a pair of values indicatingthe source slot set and the destination slot set, respectively.

For example, for flow F, the string “F (5,1)”, which means that flow Fhas slot set S as source (FIG. 3), and slot set 1 as destination (FIG.4), will be written in a first row of the table. The string “D (1,2)”will be used for flow D, and so on for all the other flows whoseposition changes.

b) Creating, a list showing all pairs of values present at least once insaid first table, sorting (in decreasing order) said pairs of valuesaccording to the number of times that each pair appears in said firsttable.

The most frequent shifts will be visible in the way.

c) Exchanging the slot sets corresponding to the values indicated by thefirst pair in said list from the top and deleting the first pair and allthe other pairs from the list in which either one or the other of thevalues contained in the first pair occur.

d) Repeating step c) until all the pairs in the list are finished.

The slot steps are exchanged during these last two phases starting fromthose corresponding to the most frequent shifts.

The third step in the procedure consists in defining and performing aminimum shift sequence concerning the single flows needed to shift eachsingle flow from an initial position occupied in the initial flowconfiguration (FIG. 3) to a final position (FIG. 5) corresponding to theposition shown by the flow in the optical slot set arrangement. Theoperations performed in this third step, referred to the simplified caseillustrated in figures from 4 to 6, are summarised in FIG. 6 to whichreference is made below.

The following operations are required to implement the third step:

e) Creating a second table showing flow interdependence.

See table 10 a in FIG. 6.

f) Selecting a first flow from those that must be shifted.

We will take flow A as an example.

g) Adding a number of rows equal to the number of flows which occupy thefinal position of said flow (also partially) in table 10 a for theselected flow A and writing a pair of reference indexes in each rowindicating the selected flow and the flow occupying the final position,respectively, or, if said final position is free, a pair of referenceindexes in which the first index indicates the selected flow and thesecond index conventionally shows that the final position is free.

In the example shown, considering initially flow A, for example, thepair (A, C) has been written in the table because flow A must be movedbefore flow C.

h) Repeating step g) recursively selecting one by one the flows whichoccupy the final position of the previously selected flow until suchfinal position is either free or occupied by a previously selected flow.

The pair (C, B) is therefore written in table 10 a indicating that flowC requires the precedence of flow B and finally (B, A) because flow Brequires the precedence of flow A.

i) Checking in the second table the presence of circular dependencebetween two or more flows; if such occurrence is present, starting toshift one of the flows in the circular dependency onto a free spare slotset and for all pairs in the second table having as the value indicativeof the final position of the flow the index of the shifted flows,replacing the index with a value conventionally indicating that thefinal position is free, e.g. 0 (zero).

A circular dependency is present (A, C)-(C, B)-(B, A) in table 10 a.Consequently, the flow A is shifted onto a spare slot set (thisoperation is indicated by reference 20 a in FIG. 6) and table 10 a isupdated. The result is table 10 b in which flow A is replaced by 0conventionally indicating that the final position of flow B is now free.

j) Searching the second table for pairs whose index corresponds to theconventional value (zero) showing that the final position is free andproceeding for each of the pairs shifting the corresponding flow ontothe corresponding final position and deleting the row corresponding tosaid pair from the table; for all pairs in the second table whose finalposition flow identification value corresponds to the identificationindex of said shifted flow, replacing said index with a value 0conventionally indicating that the final position is free.

The operation indicated by reference 20 b in FIG. 6 is therefore carriedout, shifting flow B from time slot 3 to time slot 1 and updating thetable by deleting the row (B, 0) and changing pair (C, B) to (C, 0), seetable 10 c.

k) Repeating steps i) and j) until said second table is empty.

This operation entails shifting flow C from time slot 5 to time slot 3,see operation 20 c in FIG. 6, updating the table by deleting row (C, 0)and changing pair (A, C) to (A, 0), see table 10 d, and finally shiftingflow A from the spare time slot to the final position, i.e. time slot 5,operation 20 d.

At this point, the order table 10 e will be empty and the next operationcan be started.

1) Selecting a new flow from those which must be shifted and repeatingstep g) and the following steps.

At this point of the procedure, in the simplified example, the flowshave all been shifted and the final configuration shown in FIG. 5 hasbeen reached.

It is important to note that the sorting procedure previously describedwith reference to a ring sub-network must follow a preliminaryevaluation of data provided in documentation. The evaluation must berepeated employing the punctual data provided by the network managerresponsible for physical cross-connections for implementation.

Defining whether it is possible to physically sort the flows andconsequently plan the sequence of transitions for minimising the numberwill only be possible following this new evaluation.

In operative terms, the sorting procedure is implemented by a device forcentralisation management of the transport network which supports andclosely interacts with the network manager as explained below withspecial reference to a ring sub-network implementing MS-SPRingtechnology.

In the case of a ring sub-network implementing MS-SPRing technology, thepreviously described procedure can be implemented, for example, byoverlapping an SNCP protection employing some of the previously releasedtime slots.

This procedure involves routing SNCP protection branches onto free timeslots in the ring. Consequently, two or three time slots may need to bepreventively released before starting the procedure. Furthermore, beforestarting the procedure, there must be no alarms on the ring causingMS-SPRing protection to switch.

The steps needed to implement the method are listed below:

1) Routing and activating flow SNCP protection branch as shown in themigration procedure by network manager.

2) Overriding SNCP protection exchange by means of the managementsystem.

3) Deactivating flow protection branch and removing routing.

The SNCP protection branch is routed onto the same multiplexed sectionsof the working branch but on a different AU4 (Administrative Unit Level4).

Additionally, these operations must be carried out on all flows in thering involved in the previous sorting algorithm (they can be run severaltimes on the same flow).

The method requires 25-40 shifts in a fully loaded ring. MS-SPRingprotection can be up for the entire duration of the migration (flowreliability is not affected).

At least 2-3 time slots must be freed in the entire tool to carry outthe exchange sequence. Consequently, either the sorting procedure iscarried out before the ring is ended or some flows are temporarilyshifted.

The resulting band saving is in the range of 20% of the installedstructure. The punctual results of the cases taken into considerationduring experimental phases show that peaks of 40% can be obtainedaccording to the type of traffic on the ring (traffic on directives,balanced, diagonal, unbalanced).

Punctual “design” of the sorting operation is needed to apply theprocedure according to the real configuration of the flows on the ring;this protects the quality/reliability level of the flows concerned bythe sorting operation.

The procedure according to the present invention can be implemented as acomputer program comprising computer program code means adapted to runon a computer. Such computer program can be embodied on a computerreadable medium.

1. Procedure for optimising the band occupied by a plurality of circuitdata flows (7, 8, . . . ) located, according to an initialconfiguration, in a plurality of sets of slots (6) of a transportnetwork, by sorting said flows inside the same sets of slots, saidprocedure being characterised by the fact that it comprises thefollowing steps: calculating, with a theoretical optimal flow routinealgorithm, a theoretical configuration of the flows contained in saidinitial configuration, which is optimised as regards the occupied band;exchanging the sets of slots (6) of said theoretical flow configurationto obtain an optimal arrangement of said sets of slots, in which thenumber of flows whose position corresponds to the position assumed bythe same flows in said initial configuration is maximized; defining aminimum shift sequence of single flows needed to shift each single flowfrom an initial position occupied in said initial flow configuration toa final position corresponding to the position assumed by the same flowin said optimal slot set arrangement (6); implementing said minimumshift sequence of single flows, thus obtaining a flow configuration witha band occupation equivalent to said theoretical flow configuration. 2.Procedure as per claim 1, in which said exchange phase between the setsof slots (6) is implemented with the following steps: a) creating afirst table in which each row gives, for each flow whose position in thetheoretical flow configuration differs from the initial configurationposition, a reference index associated to said flow and a pair of valuesindicating the source slot set and the destination slot setrespectively; b) creating a list of all the pairs of values present atleast once in said first table, sorting in decreasing order said pairsof values according to the number of times that each pair appears insaid first table; c) exchanging the slot sets (6) corresponding to thevalues indicated by the first pair in said list from the top, anddeleting from the list said first pair and all the other pairs in whicheither one or the other of the values contained in the said first pairappear; d) repeating step c) until all the pairs in said list arefinished.
 3. Procedure as per claim 1, in which said transport networkincludes at least one set of spare slots normally unoccupied by a flow,and in which said phases that define a minimum shift sequence of thesingle flows, and that implement said sequence, are implemented with thefollowing steps: e) creating a second table (10), showing flowinterdependence; f) selecting a first flow from those that must beshifted; g) adding in said second table (10), for said selected flow, anumber of rows equal to the number of flows that occupy, even partially,the final position of said selected flow, writing a pair of referenceindexes showing the selected flow and the flow occupying the finalposition in each of said rows, or in the event that said final positionis free, a pair of reference indexes in which a first index indicatesthe selected flow and a second index conventionally shows that the finalposition is tree (0): h) repeating step g) selecting the flows thatoccupy the final position of the flow selected previously, one at a timeand recursively, until such final position is free or is occupied by aflow that has already been previously selected; i) checking in saidsecond table the presence of a circular dependence between two or moreflows, if such occurrence is present, starting to shift one of the flowsin said circular dependency onto a free spare slot set and for all pairsin said second table having as a value indicative of the final positionof the flow the index indicative of said shifted flow, replacing saidindex with a value (0) conventionally indicating that the final positionis free; j) searching within said second table for pairs having as indexindicative of the final position of the flow said conventional value (0)indicating that the final position is free, and proceeding, for each ofsaid pairs by shifting the corresponding flow onto the correspondingfinal position and deleting the row corresponding to said pair from thesame table; for all pairs of said second table having as the valueindicative of the final position of the flow the index indicative ofsaid shifted flow, replacing said index with a value (0) conventionallyindicating the final position is free; k) repeating steps i) and j)until said second table is empty; 1) selecting a new flow from thosewhich must be shifted and repeating step g) and the following steps. 4.Procedure as per claim 1, in which said sets of slots (6) in which saidflows are initially collocated are sets of slots of a first sub-networkof said transport network.
 5. Procedure as per claim 4, in which saidsets of spare slots are sets of slots of a second sub-network of saidtransport network.
 6. Procedure as per claim 5, in which said firstsub-network and said second sub-network are ring networks.
 7. Procedureas per claim 1, in which said transport network is a network of the SDHor SONET type and said slots are time-slots.
 8. Procedure as per claim1, in which said transport network is a WDM type network and said slotsare X-slots, i.e. wavelengths.
 9. Procedure as per claim 1, in whichsaid transport network is an SDM type network and said slots are spaceintervals.
 10. Procedure as per claim 1, in which said transport networkis a FDM type network and said slots are frequency intervals.
 11. Devicefor the centralised management of a transport network, in which saiddata are arranged in circuit data flows collocated in a plurality ofsets of slots (6), including a system for sorting said flows within saidsets of slots, characterised by the fact that said system uses aprocedure for optimising the band according to claim
 1. 12. A computerprogram comprising computer program code means adapted to perform allthe steps of claim 1 when said program is run on a computer.
 13. Acomputer program as claimed in claim 12 embodied on a computer readablemedium.